package sv.com.modelo.embarcacion;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

import sv.com.modelo.buque.TipoBuqueEmb;
import sv.com.modelo.catalogos.Agrupacion;
import sv.com.modelo.catalogos.MaterialCasco;

@Entity (name="Embarcacion")
public class Embarcacion {
	
	@Id
	@GeneratedValue
	@Column (name="id_embarcacion")
	private Long    idEmbarcacion;
	@Column(name="nombre_embarcacion")
	private String nombreEmbarcacion;
	@Column(name="fotografia")
	private String fotografia;	
	@ManyToOne(fetch=FetchType.EAGER)
	@JoinColumn(name="id_agrupacion")
	private Agrupacion agrupacion;//foranea		
	@Column(name="numero_oficial")
	private String numeroOficial;	
	@ManyToOne(fetch=FetchType.EAGER)
	@JoinColumn(name="id_tipo_buque_emb")	
	private TipoBuqueEmb    tipoBuqueEmb;//foranea	
	@ManyToOne(fetch=FetchType.EAGER)
	@JoinColumn(name="id_puerto")	
	private Puerto    puerto; //foranea
	@Column(name="ubicacion_fisica")
	private String ubicacionFisica;
	@Column(name="maximo_personas")
	private Long    maximoPersonas;
	@Column(name="eslora")
	private Double eslora;
	@Column (name="manga")
	private Double manga;
	@Column (name="calado")
	private Double calado;
	@Column (name="puntal")
	private Double puntal;	
	@ManyToOne(fetch=FetchType.EAGER)
	@JoinColumn(name="id_material")	
	private MaterialCasco materialCasco;//foranea	
	@Column (name="trb")
	private Double trb;
	@Column (name="trn")
	private Double trn;
	@Column (name="color")
	private String color;
	@Column(name="construido_en")
	private String construidoEn;
	@Column(name="constructor")
	private String constructor;
	@Column(name="clase_propulsion")
	private String clasePropulsion;
	@Column (name="combustible")
	private String combustible;
	@Column(name="resolucion_de")
	private String resolucionDe;
	@Column (name="fecha_resolucion_de")
	private Date   fechaResolucionDe;
	@Column (name="fecha_notificacion")
	private Date   fechaNotificacion;
	@Column (name="fecha_emision")
	private Date    fechaEmision;
	@Column (name="fecha_expiracion")
	private Date fechaExpiracion;
	@Column (name="estado")
	private String estado;
	@Column(name="usuario")
	private String usuario;
	
	
	public String getUsuario() {
		return usuario;
	}
	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}
	
	public Long getIdEmbarcacion() {
		return idEmbarcacion;
	}
	public void setIdEmbarcacion(Long idEmbarcacion) {
		this.idEmbarcacion = idEmbarcacion;
	}
	public String getNombreEmbarcacion() {
		return nombreEmbarcacion;
	}
	public void setNombreEmbarcacion(String nombreEmbarcacion) {
		this.nombreEmbarcacion = nombreEmbarcacion;
	}
	public String getFotografia() {
		return fotografia;
	}
	public void setFotografia(String fotografia) {
		this.fotografia = fotografia;
	}
	public Agrupacion getAgrupacion() {
		return agrupacion;
	}
	public void setAgrupacion(Agrupacion agrupacion) {
		this.agrupacion = agrupacion;
	}
	public String getNumeroOficial() {
		return numeroOficial;
	}
	public void setNumeroOficial(String numeroOficial) {
		this.numeroOficial = numeroOficial;
	}
	public TipoBuqueEmb getTipoBuqueEmb() {
		return tipoBuqueEmb;
	}
	public void setTipoBuqueEmb(TipoBuqueEmb tipoBuqueEmb) {
		this.tipoBuqueEmb = tipoBuqueEmb;
	}
	public Puerto getPuerto() {
		return puerto;
	}
	public void setPuerto(Puerto puerto) {
		this.puerto = puerto;
	}
	public String getUbicacionFisica() {
		return ubicacionFisica;
	}
	public void setUbicacionFisica(String ubicacionFisica) {
		this.ubicacionFisica = ubicacionFisica;
	}
	public Long getMaximoPersonas() {
		return maximoPersonas;
	}
	public void setMaximoPersonas(Long maximoPersonas) {
		this.maximoPersonas = maximoPersonas;
	}
	public Double getEslora() {
		return eslora;
	}
	public void setEslora(Double eslora) {
		this.eslora = eslora;
	}
	public Double getManga() {
		return manga;
	}
	public void setManga(Double manga) {
		this.manga = manga;
	}
	public Double getCalado() {
		return calado;
	}
	public void setCalado(Double calado) {
		this.calado = calado;
	}
	public Double getPuntal() {
		return puntal;
	}
	public void setPuntal(Double puntal) {
		this.puntal = puntal;
	}
	public MaterialCasco getMaterialCasto() {
		return materialCasco;
	}
	public void setMaterialCasco(MaterialCasco materialCasto) {
		this.materialCasco = materialCasto;
	}
	public Double getTrb() {
		return trb;
	}
	public void setTrb(Double trb) {
		this.trb = trb;
	}
	public Double getTrn() {
		return trn;
	}
	public void setTrn(Double trn) {
		this.trn = trn;
	}
	public String getColor() {
		return color;
	}
	public void setColor(String color) {
		this.color = color;
	}
	public String getConstruidoEn() {
		return construidoEn;
	}
	public void setConstruidoEn(String construidoEn) {
		this.construidoEn = construidoEn;
	}
	public String getConstructor() {
		return constructor;
	}
	public void setConstructor(String constructor) {
		this.constructor = constructor;
	}
	public String getClasePropulsion() {
		return clasePropulsion;
	}
	public void setClasePropulsion(String clasePropulsion) {
		this.clasePropulsion = clasePropulsion;
	}
	public String getCombustible() {
		return combustible;
	}
	public void setCombustible(String combustible) {
		this.combustible = combustible;
	}
	public String getResolucionDe() {
		return resolucionDe;
	}
	public void setResolucionDe(String resolucionDe) {
		this.resolucionDe = resolucionDe;
	}
	public Date getFechaResolucionDe() {
		return fechaResolucionDe;
	}
	public void setFechaResolucionDe(Date fechaResolucionDe) {
		this.fechaResolucionDe = fechaResolucionDe;
	}
	public Date getFechaNotificacion() {
		return fechaNotificacion;
	}
	public void setFechaNotificacion(Date fechaNotificacion) {
		this.fechaNotificacion = fechaNotificacion;
	}
	public Date getFechaEmision() {
		return fechaEmision;
	}
	public void setFechaEmision(Date fechaEmision) {
		this.fechaEmision = fechaEmision;
	}
	public Date getFechaExpiracion() {
		return fechaExpiracion;
	}
	public void setFechaExpiracion(Date fechaExpiracion) {
		this.fechaExpiracion = fechaExpiracion;
	}
	public String getEstado() {
		return estado;
	}
	public void setEstado(String estado) {
		this.estado = estado;
	}
	
			
}